package cn.zebra.dev.admin.module.role.service;

import cn.zebra.dev.admin.module.role.entity.AdminRoleEntity;
import cn.zebra.dev.base.module.role.service.BaseRoleService;
import cn.zebra.dev.ibatis.plus.service.IService;
import cn.zebra.dev.ibatis.plus.utils.PageUtils;
import org.springframework.transaction.annotation.Transactional;

import java.util.Map;

/**
 * 后台角色
 *
 * @author runnable
 * @date 2019-09-07 17:01:00
 */
public interface AdminRoleService extends IService<AdminRoleEntity>, BaseRoleService<AdminRoleEntity> {

    PageUtils<AdminRoleEntity> findPage(Map<String, Object> params);

    /**
     * 保存角色
     *
     * @param entity   角色表单
     * @param createId 创建者用户id
     * @return 成功返回true 失败返回 false
     */
    @Transactional(rollbackFor = Exception.class)
    Boolean saveRole(AdminRoleEntity entity, Long createId);

    /**
     * 保存角色
     *
     * @param id       角色id
     * @param entity   角色表单
     * @param updateId 修改者用户id
     * @return 成功返回true 失败返回 false
     */
    @Transactional(rollbackFor = Exception.class)
    Boolean updateRole(Long id, AdminRoleEntity entity, Long updateId);
}

